package de.flower.common.ui.util;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.util.visit.IVisit;
import org.apache.wicket.util.visit.IVisitor;
/**
* $Id$
* <p>
* Class to retrieve the Wicket component with the specified markup identifiant
* </p>
*
* @author Julien Roche
* @since 1.0
* @author flowerrr copied from wiquery
*/
public class MarkupIdVisitor implements IVisitor<Component, Void>
{
// Properties
private String id;
private Component foundComponent;
/**
* Constructor
*
* @param id
* Markup identifiant
*/
public MarkupIdVisitor(String id)
{
this.id = id;
}
public void component(Component component, IVisit<Void> visit)
{
if (component.getMarkupId().equals(this.id))
{
this.foundComponent = component;
visit.stop();
}
if (component instanceof MarkupContainer)
{
((MarkupContainer) component).visitChildren(Component.class, this);
}
}
/**
* @return the markup identifiant
*/
public String getId()
{
return id;
}
/**
* @return the Wicket component that have been found
*/
public Component getFoundComponent()
{
return foundComponent;
}
}